<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="referrer" content="no-referrer" />
    <title>矢量shp底图</title>
    <style>
        body {
            position: absolute;
            margin: 0;
            width: 100%;
            height: 100%;
        }

        #mapContainer {
            left: 0px;
            top: 0px;
            width: 100%;
            height: 100%;
            float: left;
        }
    </style>
</head>

<body>
    <div id="mapContainer" style="position: relative;"></div>
</body>
<script src='/GiswayEngine.js'></script>
<script type="text/javascript">
    window.app = new GE.App('mapContainer', {
        position: [119.9727771238296, 30.28023602111577, 2000], //相机的位置
        lookAt: [119.9727771238296, 30.28023602111577, 0], //相机看向的地图位置
        cameraScrollSpeed: 5, //鼠标滚动时，控制相机移动的速度
        minZoom: 3, //允许地图的最小层级
        maxZoom: 22, //允许地图的最大层级
        ambientLightIntensity: 1,
        supportLightIntensity: 1,
        supportLightColor: '#FFFFFF',
        supportLightType: 'tripple',
        useDefaultTexture: false, //是否使用瓦片默认纹理
        background: "Fog", //背景的类型，参数有如下类型：None, Fog, Color, Gradient, Image, Sky, Image。使用Fog地图的性能会比较好
        useCarpet: false, //开启地图的地毯功能
        // backGroundColorA:'#AAAAFF', //当background的值为Gradient时，需要配置该参数。最下端颜色，默认值为#0000FF
        // backGroundColorB:'#0000FF', //当background的值为Gradient时，需要配置该参数。最上端颜色，默认值为#FF0000
        // backGroundColor: '#F5F5F5', //当background的值为Color时，需要配置该参数，默认值为#00BFFF
        // imageUrl: 'http://localhost:9000/examples/assets/img_logo.39362dc1.png', //当background的值为Image时，需要配置该参数。默认值为null
        shapeMinLevel: 16, //shape数据从这个图层开始出现
        buildingColor: '#F8F8FF', //设置shape建筑的颜色
        floorDivisionCount: 5, //shape建筑楼层颜色分层的最大数量, 这个值越大，GPU消耗的内存就会越大。所以这个值根据实际需要填写，不要过大。

        lineColor: '#7FFFAA',
        lineWidth: 15, //线宽

        // isOpenEyeIntersect: true,

        baseLayer: [
            //影像底图
            // {
            //     // url: ' https://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', //影像底图的url
            //     // url: 'http://115.236.87.26:8848/googleTiles/china_image/{z}/{y}/{x}.jpg',
            //     urlDecimal: true, //影像底图url中的瓦片行列号是否是十进制，true表示十进制，false表示十六进制
            //     tileType: 'image', //影像底图
            //     canNotSelect: false, //true表示该图层不参与射线拾取，false表示图层参与射线拾取
            // }
            // ,
            //shape建筑底图
            {
                name: 'buildingLayer',
                url: 'http://192.168.2.100:8702/resources/1b8b2fcb26b020120aebfac57779e06a/ShpCLipper/L{z}/{y}/{x}.shp', //shape底图的url
                urlDecimal: true, //shape底图url中的瓦片行列号是否是十进制，true表示十进制，false表示十六进制
                tileType: 'shape',  //shape底图
                canNotSelect: true, //true表示该图层不参与射线拾取，false表示图层参与射线拾取
                merge: true, //几何体是否合并
                // buildingColor: '#DC143C', //设置shape建筑的颜色
                // , lineColor: '#0000CD',
                // lineWidth: 5, //线宽
                floorDivisionArray: [ //只有建筑图层才有该属性
                    {
                        floorRange: {startLevel: 1, endLevel: 5}, //设置楼层数范围
                        floorColor: '#FFB6C1' //设置楼层数范围的颜色
                    },
                    {
                        floorRange: {startLevel: 6, endLevel: 10}, //设置楼层数范围
                        floorColor: '#FFF0F5' //设置楼层数范围的颜色
                    },
                    {
                        floorRange: {startLevel: 11, endLevel: 15}, //设置楼层数范围
                        floorColor: '#0000FF' //设置楼层数范围的颜色
                    },
                    {
                        floorRange: {startLevel: 16, endLevel: 20}, //设置楼层数范围
                        floorColor: '#87CEEB' //设置楼层数范围的颜色
                    },
                    {
                        floorRange: {startLevel: 21, endLevel: 100}, //设置楼层数范围
                        floorColor: '#90EE90' //设置楼层数范围的颜色
                    }
                ], 
            },
            //shape区域用地底图
            {
                url: 'http://192.168.2.100:8702/resources/1b8b2fcb26b020120aebfac57779e06a/shp/HangzhouTiles/landuse/L{z}/{y}/{x}.shp', //shape底图的url
                urlDecimal: true, //shape底图url中的瓦片行列号是否是十进制，true表示十进制，false表示十六进制
                tileType: 'shape',  //shape底图
                canNotSelect: true, //true表示该图层不参与射线拾取，false表示图层参与射线拾取
                merge: true //几何体是否合并
                // , lineColor: '#0000CD',
                // lineWidth: 5, //线宽
            },
            //shape自然边界
            {
                url: 'http://192.168.2.100:8702/resources/1b8b2fcb26b020120aebfac57779e06a/shp/HangzhouTiles/natural/L{z}/{y}/{x}.shp', //shape底图的url
                urlDecimal: true, //shape底图url中的瓦片行列号是否是十进制，true表示十进制，false表示十六进制
                tileType: 'shape',  //shape底图
                canNotSelect: true, //true表示该图层不参与射线拾取，false表示图层参与射线拾取
                merge: true //几何体是否合并
                // , lineColor: '#0000CD',
                // lineWidth: 5, //线宽
            },
            //shape Poi
            {
                //url: 'http://192.168.2.44:9000/examples/resources/shp/HangzhouTiles/points/L{z}/{y}/{x}.shp', //shape底图的url
                url: 'http://192.168.2.100:8702/resources/1b8b2fcb26b020120aebfac57779e06a/shp/HangzhouTiles/points/L{z}/{y}/{x}.shp', //shape底图的url
                urlDecimal: true, //shape底图url中的瓦片行列号是否是十进制，true表示十进制，false表示十六进制
                // srcUrl: '/examples/resources/shp/HangzhouTiles/src/',
                // srcUse: true,//POI图标配置
                tileType: 'shape',  //shape底图
                canNotSelect: true, //true表示该图层不参与射线拾取，false表示图层参与射线拾取
                merge: true //几何体是否合并
                // , lineColor: '#0000CD',
                // lineWidth: 5, //线宽
            },
            //shape铁路
            {
                url: 'http://192.168.2.100:8702/resources/1b8b2fcb26b020120aebfac57779e06a/shp/HangzhouTiles/railways/L{z}/{y}/{x}.shp', //shape底图的url
                urlDecimal: true, //shape底图url中的瓦片行列号是否是十进制，true表示十进制，false表示十六进制
                tileType: 'shape',  //shape底图
                canNotSelect: true, //true表示该图层不参与射线拾取，false表示图层参与射线拾取
                merge: true //几何体是否合并
                // , lineColor: '#0000CD',
                // lineWidth: 5, //线宽
            },
            //shape道路
            {
                url: 'http://192.168.2.100:8702/resources/1b8b2fcb26b020120aebfac57779e06a/shp/HangzhouTiles/roads/L{z}/{y}/{x}.shp', //shape底图的url
                urlDecimal: true, //shape底图url中的瓦片行列号是否是十进制，true表示十进制，false表示十六进制
                tileType: 'shape',  //shape底图
                canNotSelect: true, //true表示该图层不参与射线拾取，false表示图层参与射线拾取
                merge: true //几何体是否合并
                // , lineColor: '#0000CD',
                // lineWidth: 5, //线宽
            },
            //shape河流
            {
                url: 'http://192.168.2.100:8702/resources/1b8b2fcb26b020120aebfac57779e06a/shp/HangzhouTiles/waterways/L{z}/{y}/{x}.shp', //shape底图的url
                urlDecimal: true, //shape底图url中的瓦片行列号是否是十进制，true表示十进制，false表示十六进制
                tileType: 'shape',  //shape底图
                canNotSelect: true, //true表示该图层不参与射线拾取，false表示图层参与射线拾取
                merge: true //几何体是否合并
                // , lineColor: '#0000CD',
                // lineWidth: 5, //线宽
            }
        ]
    });

    window.app.on('Click', function (e) {
        console.log(e);
        let curObj = e.object;
        while (curObj) {
            if (curObj instanceof GE.HtmlMarker) {
                console.log('this is a HtmlMarker');
                debugger
                break;
            }
            curObj = curObj.parent;
        }
    });

    let A = { id: 123, name: 'dig dog',  marker: 'this is a dog'};
    let B = { id: 456, name: 'cat', description: 'I like fish', action: 'I like climbing' };

    // 使用展开语法将B对象中A对象没有的属性写入到A对象中
    A = { ...B, ...A };

    console.log(A);

</script>

</html>